/**
 * BigIntegerTest
 *
 * A test class for BigInteger
 * Copyright (c) 2007 Henri Torgemane
 *
 * See LICENSE.txt for full license information.
 */
package com.hurlant.crypto.tests
{
	import com.hurlant.math.BigInteger;
	import com.hurlant.util.Hex;

	public class BigIntegerTest extends TestCase
	{
		public function BigIntegerTest(h:ITestHarness)
		{
			super(h, "BigInteger Tests");
			runTest(testAdd, "BigInteger Addition");
			h.endTestCase();
		}

		public function testAdd():void
		{
			var n1:BigInteger=BigInteger.nbv(25);
			var n2:BigInteger=BigInteger.nbv(1002);
			var n3:BigInteger=n1.add(n2);
			var v:int=n3.valueOf();
			assert("25+1002 = " + v, 25 + 1002 == v);

			var p:BigInteger=new BigInteger(Hex.toArray("e564d8b801a61f47"));
			var xp:BigInteger=new BigInteger(Hex.toArray("99246db2a3507fa"));

			xp=xp.add(p);

			assert("xp==eef71f932bdb2741", xp.toString(16) == "eef71f932bdb2741");
		}

	}
}

